package de.hdu.pms.ho.model;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * This is the basic class including all properties of {@link Kategorie}
 * 
 * These following specifications are declared in this class:
 * <ul>
 * <li>id - primary key</li>
 * <li>bezeichnung - the name of the category expressing the level of comfort and luxuriousness</li>
 * <li>preis - the price of the rooms including this category</li>
 * 
 * and below the variables all the necessary getters and setters needed to access the variables from other classes
 * 
 * @author Thomas Niedermeier
 *
 */
@Entity
@Table(name="Kategorie")
public class Kategorie {

	@Id
	@GeneratedValue
	@Column(name="pk_kategorie")
	private Integer id;
	private String bezeichnung;
	private double preis;
	
	/*@OneToMany(mappedBy="kategorie",  fetch=FetchType.EAGER) 
	private Set<Zimmer> zimmer;
*/
	public Kategorie(String bezeichnung, Double preis){
		this.bezeichnung = bezeichnung;
		this.preis = preis;
	}
	
	public Kategorie(){
		this.id = null;
		this.bezeichnung = "";
		this.preis = 0.0;
	}
	
	/**
	 * Constructor for testing class
	 * @param b
	 * @param p
	 */
	
	public Kategorie(String b, double p) {
		bezeichnung = b;
		preis = p;
	}
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getBezeichnung() {
		return bezeichnung;
	}
	public void setBezeichnung(String bezeichnung) {
		this.bezeichnung = bezeichnung;
	}
	public double getPreis() {
		return preis;
	}
	public void setPreis(double preis) {
		this.preis = preis;
	}
	
	/*public Set<Zimmer> getZimmer() {
		return zimmer;
	}
	public void setZimmer(Set<Zimmer> zimmer) {
		this.zimmer = zimmer;
	}*/
}
